-
Notifications
You must be signed in to change notification settings - Fork 58
[Node.js] Bundle PowerSync Core #733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 2fa725b The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a nice improvement over the old install scripts, I really like seeing that setup code be removed in the examples 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice 🚀
Overview
We currently download the relevant binary for the PowerSync rust core as an
install
script of@powersync/node
. Some environments, such as PNPM require explicitly approving install scripts, which can result in cases where the extension is not automatically downloaded.This bundles the PowerSync extension for all architectures in the published NPM package - avoiding the need for install scripts.
The extension is also downloaded in local scripts to ease local development.
Testing
✅ Verified that the binaries are present in a development package
Tested by installing
@powersync/node
in a test NPM project. Verified that the client was created and could execute SQL. Tested with both Better-SQLite and Node SQLite.✅ Tested on MacOS ARM
✅ Tested on Linux x86_64 (Docker)
✅ Tested on Linux arm64 (Docker)
✅ Tested on Windows
✅ Verified the
example-electron-node
demo works correctly in development and after building a MacOS.app
.✅ Verified
example-node
works on MacOS